%!PS-Adobe-3.0
%%Creator: tops by Taiji Yamada <taiji@aihara.co.jp>
%%Copyright: 2001 Taiji Yamada <taiji@aihara.co.jp> and gs-cjk project
%%+ This script is part of GNU Ghostscript and is distributed under
%%+ the terms of the GNU Affero GPL. See the file COPYING for more information.
%%+ It is also part of tops, a text filter into PostScript for various
%%+ languages. To get it, visit http://www.aihara.co.jp/~taiji/tops/#tops
%%DocumentData: Clean7Bit
%%DocumentMedia: A4 595 842 0 white ()
%%Extensions: Composite
%%Orientation: Portrait
%%Title: iso-2022-7bit - Emacs/Mule editable PostScript file
%%Version: 1.0
%
% Usage:
%   gs [-dverttext] iso2022.ps
%
%%EndComments
%%BeginProlog

/*gs-cjk (\
------------------------------------------------------------------------\n\
This is a script to test CJK fonts such as CID-keyed fonts.\n\
If you have not done CID-keyed fonts installation and definitions at\n\
/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\
this script can't work correctly.\n\
For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\

If you throw this script into a printer, it requires PostScript 3\n\
printer and CID-keyed fonts specified in this script.\n\
------------------------------------------------------------------------\n) def

/notice*stdout 4 dict begin
  /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def
  currentdict
end def

/notice*page 5 dict begin
  /*y 750 def
  /*open {
    gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto
    *y 750 eq {
      *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop
    } if
  } def
  /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def
  /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def
  /*close { grestore } def
  currentdict
end def

/greeting*gs-cjk {
  product (Ghostscript) search not { pop } { pop pop pop QUIET not {
    notice*stdout begin
      *open
      *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop
      *close
    end
  } if } ifelse
} bind def
greeting*gs-cjk

/*findfont {
  dup /Font resourcestatus { pop pop findfont } {
    notice*page begin
      *open
      (Error in findfont: ) *echo-n dup *echo
      *close
    end
    findfont
  } ifelse
} bind def

/orighandleerror errordict /handleerror get def
errordict begin
  /handleerror {
    notice*page begin errordict begin $error begin
      *open
      (Error of ) *echo-n errorname dup length string cvs *echo
      *close
      showpage
    end end end
    orighandleerror
  } bind def
end

/unknowndef { exch dup where { pop pop pop } { exch def } ifelse } bind def

/ISOLatin1Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin1Encoding)
%%EndComments
/ISOLatin1Encoding [ % iso-8859-1
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/exclamdown/cent/sterling/currency/yen/brokenbar/section
/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
% 0xc0
/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
% 0xe0
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOLatin2Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin2Encoding)
%%EndComments
/ISOLatin2Encoding [ % iso-8859-2
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/Aogonek/breve/Lslash/currency/Lcaron/Sacute/section
/dieresis/Scaron/Scedilla/Tcaron/Zacute/hyphen/Zcaron/Zdotaccent
/degree/aogonek/ogonek/lslash/acute/lcaron/sacute/caron
/cedilla/scaron/scedilla/tcaron/zacute/hungarumlaut/zcaron/zdotaccent
% 0xc0
/Racute/Aacute/Acircumflex/Abreve/Adieresis/Lacute/Cacute/Ccedilla
/Ccaron/Eacute/Eogonek/Edieresis/Ecaron/Iacute/Icircumflex/Dcaron
/Dcroat/Nacute/Ncaron/Oacute/Ocircumflex/Ohungarumlaut/Odieresis/multiply
/Rcaron/Uring/Uacute/Uhungarumlaut/Udieresis/Yacute/Tcommaaccent/germandbls
% 0xe0
/racute/aacute/acircumflex/abreve/adieresis/lacute/cacute/ccedilla
/ccaron/eacute/eogonek/edieresis/ecaron/iacute/icircumflex/dcaron
/dcroat/nacute/ncaron/oacute/ocircumflex/ohungarumlaut/odieresis/divide
/rcaron/uring/uacute/uhungarumlaut/udieresis/yacute/tcommaaccent/dotaccent
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOLatin3Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin3Encoding)
%%EndComments
/ISOLatin3Encoding [ % iso-8859-3
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/Hbar/breve/sterling/currency/.notdef/Hcircumflex/section
/dieresis/Idotaccent/Scedilla/Gbreve/Jcircumflex/hyphen/.notdef/Zdotaccent
/degree/hbar/twosuperior/threesuperior/acute/mu/hcircumflex/periodcentered
/cedilla/dotlessi/scedilla/gbreve/jcircumflex/onehalf/.notdef/zdotaccent
% 0xc0
/Agrave/Aacute/Acircumflex/.notdef/Adieresis/Cdotaccent/Ccircumflex/Ccedilla
/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
/.notdef/Ntilde/Ograve/Oacute/Ocircumflex/Gdotaccent/Odieresis/multiply
/Gcircumflex/Ugrave/Uacute/Ucircumflex/Udieresis/Ubreve/Scircumflex/germandbls
% 0xe0
/agrave/aacute/acircumflex/.notdef/adieresis/cdotaccent/ccircumflex/ccedilla
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
/.notdef/ntilde/ograve/oacute/ocircumflex/gdotaccent/odieresis/divide
/gcircumflex/ugrave/uacute/ucircumflex/udieresis/ubreve/scircumflex/dotaccent
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOLatin4Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin4Encoding)
%%EndComments
/ISOLatin4Encoding [ % iso-8859-4
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/Aogonek/kgreenlandic/Rcommaaccent/currency/Itilde/Lcommaaccent/section
/dieresis/Scaron/Emacron/Gcommaaccent/Tbar/hyphen/Zcaron/macron
/degree/aogonek/ogonek/rcommaaccent/acute/itilde/lcommaaccent/caron
/cedilla/scaron/emacron/gcommaaccent/tbar/Eng/zcaron/eng
% 0xc0
/Amacron/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Iogonek
/Ccaron/Eacute/Eogonek/Edieresis/Edotaccent/Iacute/Icircumflex/Imacron
/Dcroat/Ncommaaccent/Omacron/Kcommaaccent/Ocircumflex/Otilde/Odieresis/multiply
/Oslash/Uogonek/Uacute/Ucircumflex/Udieresis/Utilde/Umacron/germandbls
% 0xe0
/amacron/aacute/acircumflex/atilde/adieresis/aring/ae/iogonek
/ccaron/eacute/eogonek/edieresis/edotaccent/iacute/icircumflex/imacron
/dcroat/ncommaaccent/omacron/kcommaaccent/ocircumflex/otilde/odieresis/divide
/oslash/uogonek/uacute/ucircumflex/udieresis/utilde/umacron/dotaccent
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOCyrillicEncoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOCyrillicEncoding)
%%EndComments
/ISOCyrillicEncoding [ % iso-8859-5
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/afii10023/afii10051/afii10052/afii10053/afii10054/afii10055/afii10056
/afii10057/afii10058/afii10059/afii10060/afii10061/hyphen/afii10062/afii10145
/afii10017/afii10018/afii10019/afii10020/afii10021/afii10022/afii10024/afii10025
/afii10026/afii10027/afii10028/afii10029/afii10030/afii10031/afii10032/afii10033
% 0xc0
/afii10034/afii10035/afii10036/afii10037/afii10038/afii10039/afii10040/afii10041
/afii10042/afii10043/afii10044/afii10045/afii10046/afii10047/afii10048/afii10049
/afii10065/afii10066/afii10067/afii10068/afii10069/afii10070/afii10072/afii10073
/afii10074/afii10075/afii10076/afii10077/afii10078/afii10079/afii10080/afii10081
% 0xe0
/afii10082/afii10083/afii10084/afii10085/afii10086/afii10087/afii10088/afii10089
/afii10090/afii10091/afii10092/afii10093/afii10094/afii10095/afii10096/afii10097
/afii61352/afii10071/afii10099/afii10100/afii10101/afii10102/afii10103/afii10104
/afii10105/afii10106/afii10107/afii10108/afii10109/section/afii10110/afii10193
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOGreekEncoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOGreekEncoding)
%%EndComments
/ISOGreekEncoding [ % iso-8859-7
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/quoteleft/quoteright/sterling/.notdef/.notdef/brokenbar/section
/dieresis/copyright/.notdef/guillemotleft/logicalnot/hyphen/.notdef/afii00208
/degree/plusminus/twosuperior/threesuperior/tonos/dieresistonos/Alphatonos/periodcentered
/Epsilontonos/Etatonos/Iotatonos/guillemotright/Omicrontonos/onehalf/Upsilontonos/Omegatonos
% 0xc0
/iotadieresistonos/Alpha/Beta/Gamma/Delta/Epsilon/Zeta/Eta
/Theta/Iota/Kappa/Lambda/Mu/Nu/Xi/Omicron
/Pi/Rho/.notdef/Sigma/Tau/Upsilon/Phi/Chi
/Psi/Omega/Iotadieresis/Upsilondieresis/alphatonos/epsilontonos/etatonos/iotatonos
% 0xe0
/upsilondieresistonos/alpha/beta/gamma/delta/epsilon/zeta/eta
/theta/iota/kappa/lambda/mu/nu/xi/omicron
/pi/rho/sigma1/sigma/tau/upsilon/phi/chi
/psi/omega/iotadieresis/upsilondieresis/omicrontonos/upsilontonos/omegatonos/.notdef
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOLatin5Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin5Encoding)
%%EndComments
/ISOLatin5Encoding [ % iso-8859-9
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/exclamdown/cent/sterling/currency/yen/brokenbar/section
/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
% 0xc0
/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
/Gbreve/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Idotaccent/Scedilla/germandbls
% 0xe0
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
/gbreve/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
/oslash/ugrave/uacute/ucircumflex/udieresis/dotlessi/scedilla/ydieresis
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOLatin6Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin6Encoding)
%%EndComments
/ISOLatin6Encoding [ % iso-8859-10
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/Aogonek/Emacron/Gcommaaccent/Imacron/Itilde/Kcommaaccent/section
/Lcommaaccent/Dcroat/Scaron/Tbar/Zcaron/hyphen/Umacron/Eng
/degree/aogonek/emacron/gcommaaccent/imacron/itilde/kcommaaccent/periodcentered
/lcommaaccent/dcroat/scaron/tbar/zcaron/afii00208/umacron/eng
% 0xc0
/Amacron/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Iogonek
/Ccaron/Eacute/Eogonek/Edieresis/Edotaccent/Iacute/Icircumflex/Idieresis
/Eth/Ncommaaccent/Omacron/Oacute/Ocircumflex/Otilde/Odieresis/Utilde
/Oslash/Uogonek/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
% 0xe0
/amacron/aacute/acircumflex/atilde/adieresis/aring/ae/iogonek
/ccaron/eacute/eogonek/edieresis/edotaccent/iacute/icircumflex/idieresis
/eth/ncommaaccent/omacron/oacute/ocircumflex/otilde/odieresis/utilde
/oslash/uogonek/uacute/ucircumflex/udieresis/yacute/thorn/kgreenlandic
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOLatin7Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin7Encoding)
%%EndComments
/ISOLatin7Encoding [ % iso-8859-13
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/quotedblright/cent/sterling/currency/quotedblbase/brokenbar/section
/Oslash/copyright/Rcommaaccent/guillemotleft/logicalnot/hyphen/registered/AE
/degree/plusminus/twosuperior/threesuperior/quotedblleft/mu/paragraph/periodcentered
/oslash/onesuperior/rcommaaccent/guillemotright/onequarter/onehalf/threequarters/ae
% 0xc0
/Aogonek/Iogonek/Amacron/Cacute/Adieresis/Aring/Eogonek/Emacron
/Ccaron/Eacute/Zacute/Edotaccent/Gcommaaccent/Kcommaaccent/Imacron/Lcommaaccent
/Scaron/Nacute/Ncommaaccent/Oacute/Omacron/Otilde/Odieresis/multiply
/Uogonek/Lslash/Sacute/Umacron/Udieresis/Zdotaccent/Zcaron/germandbls
% 0xe0
/aogonek/iogonek/amacron/cacute/adieresis/aring/eogonek/emacron
/ccaron/eacute/zacute/edotaccent/gcommaaccent/kcommaaccent/imacron/lcommaaccent
/scaron/nacute/ncommaaccent/oacute/omacron/otilde/odieresis/divide
/uogonek/lslash/sacute/umacron/udieresis/zdotaccent/zcaron/quoteright
] /Encoding defineresource pop
%%EndResource
} ifelse

/ISOLatin9Encoding /Encoding resourcestatus { pop pop } {
%!PS-Adobe-3.0 Resource-Encoding
%%BeginResource: Encoding (ISOLatin9Encoding)
%%EndComments
/ISOLatin9Encoding [ % iso-8859-15
% 0x00
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0x20
/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle
/parenleft/parenright/asterisk/plus/comma/minus/period/slash
/zero/one/two/three/four/five/six/seven
/eight/nine/colon/semicolon/less/equal/greater/question
% 0x40
/at/A/B/C/D/E/F/G
/H/I/J/K/L/M/N/O
/P/Q/R/S/T/U/V/W
/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
% 0x60
/grave/a/b/c/d/e/f/g
/h/i/j/k/l/m/n/o
/p/q/r/s/t/u/v/w
/x/y/z/braceleft/bar/braceright/asciitilde/.notdef
% 0x80
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
% 0xa0
/space/exclamdown/cent/sterling/Euro/yen/Scaron/section
/scaron/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
/degree/plusminus/twosuperior/threesuperior/Zcaron/mu/paragraph/periodcentered
/zcaron/onesuperior/ordmasculine/guillemotright/OE/oe/Ydieresis/questiondown
% 0xc0
/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
% 0xe0
/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis
] /Encoding defineresource pop
%%EndResource
} ifelse

/reencode-font { % fontname font encoding reencode-font font
  exch dup type dup /nametype eq exch /stringtype eq or { findfont } if
  dup length dict begin
    {
      1 index /FID ne 2 index /UniqueID ne and { def } { pop pop } ifelse
    } forall
    /Encoding exch dup type /nametype eq { /Encoding findresource } if def
    dup /FontName exch def
    currentdict
  end
  definefont
} bind def

/vertical-font { % fontname font vertical-font font
  dup type dup /nametype eq exch /stringtype eq or { *findfont } if
  dup length 1 add dict begin {
    1 index /FontName eq { pop 1 index def } {
      1 index /FID ne 2 index /UniqueID ne and { def } { pop pop } ifelse
    } ifelse
  } forall /WMode 1 def currentdict end
  definefont
} bind def

%
% fontname [font ...] compose-fontset font
%
% References:
% [1] kanno@jn1jdz.ymt.prug.or.jp, ``jisfont.ps,''
% in Japanesized Tgif(Tgif-3.0J-p17 JIS patch version), 7 1997.
%
/compose-fontset {
  12 dict begin
    /FontType 0 def
    /FontMatrix matrix def
    /FontBBox { 0 0 0 0 } def
    /FMapType 3 def
    %/EscChar 255 def
    /FDepVector [
      2 index {
        dup type dup /nametype eq exch /stringtype eq or { *findfont } if
        dup /WMode known {
          dup /WMode get /WMode exch def
          WMode 1 eq {
            [ 0 1 -1 0 0 .3 ] makefont
          } if
        } if
      } forall
    ] def
    /Encoding [ 0 1 4 index length 1 sub {} for ] def
    pop
    dup /FontName exch def
    currentdict
  end
  definefont
} bind def

/decode-mule-big5 { % R1 R2 1|2 decode-mule-big5 R1 R2
  2 dict begin
    3 1 roll
    /r2 exch def
    /r1 exch def
    /r2 r1 16#21 sub 94 mul r2 add 16#21 sub def
    2 eq { /r2 r2 6280 add def } if
    /r1 r2 157 idiv 16#a1 add def
    /r2 r2 157 mod def
    /r2 r2 r2 16#3f lt { 16#40 } { 16#62 } ifelse add def
    r1 r2
  end
} bind def
/decode-mule-big5-l1 { % str idx decode-mule-big5-l1 str idx
  2 copy get exch 1 add exch 2 index 2 index get
  1 decode-mule-big5
  buffer size 4 -1 roll put /size size 1 add store
  buffer size 3 -1 roll put /size size 1 add store 
} bind def
/decode-mule-big5-l2 { % str idx decode-mule-big5-l2 str idx
  2 copy get exch 1 add exch 2 index 2 index get
  2 decode-mule-big5
  buffer size 4 -1 roll put /size size 1 add store
  buffer size 3 -1 roll put /size size 1 add store 
} bind def
/decode-gl { % str idx decode-gl str idx
  2 copy get buffer size 3 -1 roll put
  /size size 1 add store
} bind def
/decode-gr { % str idx decode-gr str idx
  2 copy get 16#80 add buffer size 3 -1 roll put
  /size size 1 add store
} bind def
/iso-2022-set [
  [ (\033\(B)	{decode-gl}		] % iso-2022:ascii
  [ (\033,A)	{decode-gr}		] % iso-2022:iso-8859-1,iso-latin1
  [ (\033,B)	{decode-gr}		] % iso-2022:iso-8859-2,iso-latin2
% [ (\033,C)	{decode-gr}		] % iso-2022:iso-8859-3,iso-latin3
% [ (\033,D)	{decode-gr}		] % iso-2022:iso-8859-4,iso-latin4
% [ (\033,F)	{decode-gr}		] % iso-2022:iso-8859-7,iso-greek
% [ (\033,G)	{decode-gr}		] % iso-2022:iso-8859-6,iso-arabic
% [ (\033,H)	{decode-gr}		] % iso-2022:iso-8859-8,iso-hebrew
% [ (\033,L)	{decode-gr}		] % iso-2022:iso-8859-5,iso-cyrillic
  [ (\033,M)	{decode-gr}		] % iso-2022:iso-8859-9,iso-latin5
% [ (\033,T)	{decode-gr}		] % iso-2022:iso-8859-11,iso-thai
% [ (\033,V)	{decode-gr}		] % iso-2022:iso-8859-10,iso-latin6
  [ (\033\(I)	{decode-gl}		] % iso-2022:jis-x-0201-kana
  [ (\033\(J)	{decode-gl}		] % iso-2022:jis-x-0201-roman
% [ (\033\(T)	{decode-gl}		] % iso-2022:gb-1988-roman
  [ (\033$@)	{decode-gl}		] % iso-2022:jis-x-0208-1978
  [ [ (\033$A) (\033$\(A) ]			{decode-gl}	] % iso-2022:gb-2312-1980
  [ [ (\033$B) (\033$\(B) (\033&@\033$B) ]	{decode-gl}	] % iso-2022:jis-x-0208-1983&1990
  [ (\033$\(C)	{decode-gl}		] % iso-2022:ks-x-1001-1992
  [ (\033$\(D)	{decode-gl}		] % iso-2022:jis-x-0212-1990
  [ (\033$\(?)	{decode-gl}		] % iso-2022:gbt-12345-1990,private-iso-gbt
  [ (\033$\(G)	{decode-gl}		] % iso-2022:cns-11643-1992-p1
  [ (\033$\(H)	{decode-gl}		] % iso-2022:cns-11643-1992-p2
  [ (\033$\(0)	{decode-mule-big5-l1}	] % iso-2022:big5,mule-big5
  [ (\033$\(1)	{decode-mule-big5-l2}	] % iso-2022:big5,mule-big5
] def
/iso-2022-translate { % str idx iso-2022-translate str idx
  2 copy get 16#20 lt {
    iso-2022-set length 1 sub 0 1 3 -1 roll {	% str idx j
      iso-2022-set 1 index get 0 get dup	% str idx j ()|[] ()|[]
      dup type /stringtype eq {			% str idx j () ()
        dup length 5 index 5 index 3 -1 roll 7 index length 7 index sub
        2 copy lt { pop } { exch pop } ifelse
        getinterval eq				% str idx j () true|false
      } {					% str idx j [] []
        pop () false 3 -1 roll {
          dup 4 -1 roll pop 3 1 roll
          dup length 6 index 6 index 3 -1 roll 8 index length 8 index sub
          2 copy lt { pop } { exch pop } ifelse
          getinterval eq or dup { exit } if	% str idx j () true|false
        } forall
      } ifelse
      { exch /iso-2022-state exch store length 1 sub add exit } { pop } ifelse
      pop
    } for
  } if
} bind def
/iso-2022-show { % str iso-2022-show -
  10 dict begin
    /iso-6429-state null def
    /iso-2022-state 0 def
    /iso-2022-current iso-2022-state def
    /buffer 65535 string def
    /size 0 def
    /width 0 def
    /BoldFont false def /Underscore false def /BackColor 1 def
    /foldline dup where { pop foldline } { false } ifelse def
    0 { % idx {} loop
      dup 2 index length lt {
        iso-2022-translate
        iso-2022-state iso-2022-current ne {
          buffer size 8#377 put
          /size size 1 add store
          buffer size iso-2022-state put
          /size size 1 add store
        } {
          iso-6429-translate
          iso-6429-state null ne {
            iso-6429-set iso-6429-state get 1 get exec
          } {
            iso-2022-set iso-2022-current get 1 get exec
          } ifelse
        } ifelse
      } {
        exit
      } ifelse
      /iso-2022-current iso-2022-state store
      1 add
    } loop
    pop pop
    iflush
  end
} bind def
/ichop {	% required for some Adobe-official PostScript interpreters
  dup length dup 2 sub -2 0 {		% str len len-2 -2 0 {} for
    2 index 1 index get 8#377 eq	% str len idx c(str idx get) 8#377 eq
    { exch pop } { pop exit } ifelse	% str len|idx
  } for 0 exch getinterval		% str'(str 0 len|idx getinterval)
} bind def

/iso-6429-set [
  [ (\t)
    { buffer 0 size getinterval ichop	% ``ichop'' is not required for GS
      stringwidth pop ( ) stringwidth pop div round cvi width add
      8 dup 3 1 roll mod sub {
      buffer size ( ) putinterval /size size 1 add store
    } repeat } bind
  ]
  [ (\f)	{ iflush margin 0 get margin 3 get moveto } bind ]
  [ [ (\033[m) (\033[0m) ]
    { iflush
      /BoldFont false	textfont
      /Underscore false	textfont
      0			textcolor
      1			backcolor
    } bind
  ] % All Off
  [ (\033[1m)	{ iflush /BoldFont true		textfont } bind ]
  [ (\033[4m)	{ iflush /Underscore true	textfont } bind ]
  [ (\033[22m)	{ iflush /BoldFont false	textfont } bind ]
  [ (\033[24m)	{ iflush /Underscore false	textfont } bind ]
  [ (\033[30m)	{ iflush 0		textcolor } bind ]
  [ (\033[31m)	{ iflush [ 1 0 0 ]	textcolor } bind ]
  [ (\033[32m)	{ iflush [ 0 1 0 ]	textcolor } bind ]
  [ (\033[33m)	{ iflush [ 1 1 0 ]	textcolor } bind ]
  [ (\033[34m)	{ iflush [ 0 0 1 ]	textcolor } bind ]
  [ (\033[35m)	{ iflush [ 1 0 1 ]	textcolor } bind ]
  [ (\033[36m)	{ iflush [ 0 1 1 ]	textcolor } bind ]
  [ (\033[37m)	{ iflush 1		textcolor } bind ]
  [ (\033[39m)	{ iflush 0		textcolor } bind ]
  [ (\033[40m)	{ iflush 0		backcolor } bind ]
  [ (\033[41m)	{ iflush [ 1 0 0 ]	backcolor } bind ]
  [ (\033[42m)	{ iflush [ 0 1 0 ]	backcolor } bind ]
  [ (\033[43m)	{ iflush [ 1 1 0 ]	backcolor } bind ]
  [ (\033[44m)	{ iflush [ 0 0 1 ]	backcolor } bind ]
  [ (\033[45m)	{ iflush [ 1 0 1 ]	backcolor } bind ]
  [ (\033[46m)	{ iflush [ 0 1 1 ]	backcolor } bind ]
  [ (\033[47m)	{ iflush 1		backcolor } bind ]
  [ (\033[49m)	{ iflush 1		backcolor } bind ]
] def
/iso-6429-translate { % str idx iso-6429-translate str idx
  /iso-6429-state null store
  2 copy get 16#20 lt {
    iso-6429-set length 1 sub 0 1 3 -1 roll {	% str idx j
      iso-6429-set 1 index get 0 get dup	% str idx j ()|[] ()|[]
      dup type /stringtype eq {			% str idx j () ()
        dup length 5 index 5 index 3 -1 roll 7 index length 7 index sub
        2 copy lt { pop } { exch pop } ifelse
        getinterval eq				% str idx j () true|false
      } {					% str idx j [] []
        pop () false 3 -1 roll {
          dup 4 -1 roll pop 3 1 roll
          dup length 6 index 6 index 3 -1 roll 8 index length 8 index sub
          2 copy lt { pop } { exch pop } ifelse
          getinterval eq or dup { exit } if	% str idx j () true|false
        } forall
      } ifelse
      { exch /iso-6429-state exch store length 1 sub add exit } { pop } ifelse
      pop
    } for
  } if
} bind def
/show-attribute {
  BackColor dup type dup /integertype eq exch /realtype eq or {
    dup 1 eq { pop } {
      gsave setgray BoldFont { setboldfont } if textfill grestore
    } ifelse
  } {
    gsave cvx exec setrgbcolor BoldFont { setboldfont } if textfill grestore
  } ifelse
  Underscore {
    gsave .2 setlinewidth currentpoint fontsize .1 mul sub moveto
    BoldFont { setboldfont } if dup stringwidth pop 0 rlineto stroke grestore
  } if
  BoldFont {
    gsave setboldfont show currentpoint grestore moveto
  } {
    show
  } ifelse
} bind def
/cshow-attribute {
  pop currentpoint pop add pagesize 0 get margin 2 get sub lt {
    1 string dup 0 4 -1 roll put show-attribute
  } {
    currentpoint exch pop fontsize sub round margin 3 get lt {
      gsave
      nextpage preparepage
      currentpoint matrix currentmatrix grestore setmatrix moveto
    } {
      origin 0 get currentpoint exch pop fontsize sub moveto
    } ifelse
    1 string dup 0 4 -1 roll put show-attribute
  } ifelse
} bind def
/iflush {
  size 0 gt {
    buffer 0 size getinterval ichop	% ``ichop'' is not required for GS
    dup stringwidth pop ( ) stringwidth pop div round cvi /width exch store
    foldline not {
      show-attribute
    } {
      dup stringwidth
      pop currentpoint pop add pagesize 0 get margin 2 get sub lt {
        show-attribute
      } {
        BoldFont { /BoldFont false store
          gsave setboldfont
	  { cshow-attribute } exch cshow
	  currentpoint grestore moveto
        } {
          { cshow-attribute } exch cshow
        } ifelse
      } ifelse      
    } ifelse
    /size 0 store
  } if
} bind def
/textfont { % /BoldFont|/Underscore any textfont -
  store
} bind def
/textcolor {
  dup type dup /integertype eq exch /realtype eq or { setgray }
  { cvx exec setrgbcolor } ifelse
} bind def
/backcolor {
  /BackColor exch store
} bind def
/textfill {
  currentpoint fontsize .2 mul sub 2 index stringwidth pop fontsize
  4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto
  closepath fill
} bind def
/setboldfont {
  currentfont /FontName get dup length string cvs (-Bold)
  exch dup length 2 index length add string
  dup dup 4 2 roll copy length 4 -1 roll putinterval cvn
  findfont [fontwidth 0 0 fontsize 0 0] makefont setfont
} bind def
/iso-6429-show { % str iso-6429-show -
  8 dict begin
    /iso-6429-state null def
    /buffer 65535 string def
    /size 0 def
    /width 0 def
    /BoldFont false def /Underscore false def /BackColor 1 def
    /foldline dup where { pop foldline } { false } ifelse def
    0 { % idx {} loop
      dup 2 index length lt {
        iso-6429-translate
        iso-6429-state null ne {
          iso-6429-set iso-6429-state get 1 get exec
        } {
          2 copy get buffer size 3 -1 roll put
          /size size 1 add store
        } ifelse
      } {
        exit
      } ifelse
      1 add
    } loop
    pop pop
    iflush
  end
} bind def
/shown-init {
  /inshow exch def
  /mediasize [ 595 842 ] def
  /mediamargin [ 30 30 30 30 ] def
  /pagesize [
    mediasize cvx exec mediamargin cvx exec
    3 -1 roll add 3 1 roll add 3 1 roll sub 3 1 roll sub exch
  ] def
  /margin [ 20 28 20 28 ] def
  /division [ 1 1 ] def
  /landscape false def
  /landscale false def
  /evenscale true def
  /pagescale false def
  pagescale not {
    /pagesize [
      pagesize 0 get division 0 get div pagesize 1 get division 1 get div
    ] store
  } if
  landscape {
    /pagesize [ pagesize cvx exec exch ] store
    /margin [ margin cvx exec 4 1 roll ] store
  } if
  /verttext dup where { pop verttext } { false } ifelse def
  /foldline true def
  /header true def /footer true def /border true def
  /origin [ margin 0 get pagesize 1 get margin 1 get sub fontsize sub ] def
  /position [ 0 0 ] def
  /preparepage { initmatrix
    landscape landscale xor not {
      mediasize cvx exec exch mediamargin 0 get mediamargin 2 get add sub
      division 0 get div position 0 get mul mediamargin 0 get add
      exch dup mediamargin 1 get mediamargin 3 get add sub
      division 1 get div position 1 get 1 add mul sub mediamargin 1 get sub
      translate
      pagescale { landscale not { 1 } { pagesize cvx exec div } ifelse
        division 1 get div evenscale { dup } {
          landscale not { 1 } { pagesize cvx exec exch div } ifelse
          division 0 get div exch
        } ifelse scale
      } if
    } {
      verttext {
        180 rotate mediasize { neg } forall translate
      } if
      mediasize cvx exec exch mediamargin 0 get mediamargin 2 get add sub
      division 0 get div position 0 get mul mediamargin 0 get add
      exch mediamargin 1 get mediamargin 3 get add sub
      division 1 get div position 1 get mul mediamargin 3 get add
      translate
      pagescale { landscale not { 1 } { pagesize cvx exec div } ifelse
        division 0 get div evenscale { dup } {
          landscale not { 1 } { pagesize cvx exec exch div } ifelse
          division 1 get div
        } ifelse scale
      } if
      90 rotate 0 pagesize 1 get neg translate
    } ifelse
    origin cvx exec moveto
  } bind def
  /gssafe false def	% GS-safe but not always perfect at decoratepage
  /nextpage { gssafe { /decorated false store } { decoratepage } ifelse
    position landscape landscale or not { 0 } { 1 } ifelse 2 copy get 1 add
    dup 4 1 roll put
    division landscape landscale or not { 0 } { 1 } ifelse get eq {
      position landscape landscale or not { 0 } { 1 } ifelse 0 put
      position landscape landscale or not { 1 } { 0 } ifelse 2 copy get 1 add
      dup 4 1 roll put
      division landscape landscale or not { 1 } { 0 } ifelse get eq {
        position landscape landscale or not { 1 } { 0 } ifelse 0 put
        showpage
      } if
    } if
  } bind def
  /lastpage { gssafe {} { decoratepage } ifelse showpage } bind def
  /nextline {
    currentpoint exch pop fontsize sub round margin 3 get lt {
      nextpage preparepage /empty true store
    } {
      origin 0 get currentpoint exch pop fontsize sub moveto
    } ifelse
  } bind def
  %
  /page 0 def
  /infofont /Helvetica findfont [fontwidth 0 0 fontsize 0 0] makefont def
  /head (gs-cjk project: [1miso-2022-7bit - Emacs/Mule editable PostScript file[22m) def
  /showheader {
    header {
      gsave
      verttext not {
        margin 0 get pagesize 1 get margin 1 get sub fontsize add moveto
      } {
        margin 0 get fontsize sub margin 3 get translate 90 rotate
        fontsize fontwidth div fontwidth fontsize div scale 0 0 moveto
      } ifelse
      1 dict dup /foldline false put begin
        infofont setfont head inshow
      end
      grestore
    } if
  } bind def
  /foot 64 string def
  /showfooter {
    /page page 1 add store
    footer {
      gsave
      verttext not {
        pagesize 0 get margin 2 get sub margin 3 get fontsize 2 mul sub moveto
      } {
        pagesize 0 get margin 2 get sub fontsize 2 mul add
        pagesize 1 get margin 1 get sub translate 90 rotate
        fontsize fontwidth div fontwidth fontsize div scale 0 0 moveto
      } ifelse
      1 dict dup /foldline false put begin
        infofont setfont page foot cvs dup stringwidth pop neg 0 rmoveto inshow
      end
      grestore
    } if
  } bind def
  /bord {
    pagesize cvx exec margin { fontsize 2 div sub } forall
    3 1 roll exch 5 -1 roll exch sub exch 5 -1 roll exch sub exch
    4 copy 3 1 roll exch 8 -2 roll moveto lineto 4 2 roll lineto lineto
    closepath
  } bind def
  /showborder {
    border {
      gsave .25 setlinewidth bord stroke grestore
    } if
  } bind def
  /decoratepage { showheader showfooter showborder } bind def
  %
  preparepage /empty true def
  gssafe { /decorated false def } if
} bind def
/shown {
  gssafe { decorated not { decoratepage /decorated true store } if } if
  inshow /empty false store nextline
} bind def
/shown-close { empty not { lastpage } if } bind def
/shown-readlines {
  /shown-buffer 65535 string def
  shown-init
  {
    currentfile shown-buffer readline not { pop exit } if
    shown
  } loop
  shown-close
} bind def
/shown-readhexstrings {
  /shown-buffer 65535 string def
  /shown-size 0 def
  /previous-char (\000) def
  shown-init
  {
    currentfile 1 string readhexstring not { pop exit } if
    dup (\n) ne {
      dup (\r) ne {
        shown-buffer shown-size 2 index putinterval
        /shown-size shown-size 1 add store
      } { % mac
        shown-buffer 0 shown-size getinterval shown
        /shown-size 0 store
      } ifelse
    } { % unix
      previous-char (\r) ne {
        shown-buffer 0 shown-size getinterval shown
      } { % dos
      } ifelse
      /shown-size 0 store
    } ifelse
    previous-char 0 3 -1 roll putinterval
  } loop
  shown-close
} bind def

/fitfont { [ .8335276 0 0 .8335276 0 .1 ] makefont } bind def

/verttext true unknowndef
/iso-2022-fontset [
  /Courier			findfont fitfont	% iso-2022:ascii
  /Courier-Latin1		/Courier /ISOLatin1Encoding	reencode-font fitfont	% iso-2022:iso-8859-1,iso-latin1
  /Courier-Latin2		/Courier /ISOLatin2Encoding	reencode-font fitfont	% iso-2022:iso-8859-2,iso-latin2
% /CourierNewLatin3		findfont fitfont	% iso-2022:iso-8859-3,iso-latin3
% /CourierNewLatin4		findfont fitfont	% iso-2022:iso-8859-4,iso-latin4
% /CourierNewGreek		findfont fitfont	% iso-2022:iso-8859-7,iso-greek
% /CourierNewArabic		findfont fitfont	% iso-2022:iso-8859-6,iso-arabic
% /CourierNewHebrew		findfont fitfont	% iso-2022:iso-8859-8,iso-hebrew
% /Courier-Cyrillic		/CourierNewCyrillic /ISOCyrillicEncoding	reencode-font fitfont	% iso-2022:iso-8859-5,iso-cyrillic
  /Courier-Latin5		/Courier /ISOLatin5Encoding	reencode-font fitfont	% iso-2022:iso-8859-9,iso-latin5
% /CourierNewThai		findfont fitfont	% iso-2022:iso-8859-11,iso-thai
% /CourierNewLatin6		findfont fitfont	% iso-2022:iso-8859-10,iso-latin6
  verttext not {
  /Ryumin-Light.Katakana	% iso-2022:jis-x-0201-kana
  /Ryumin-Light.Roman		% iso-2022:jis-x-0201-roman
% /STSong-Light-GBK-EUC-H	% iso-2022:gb-1988-roman
  /Ryumin-Light-78-H		% iso-2022:jis-x-0208-1978
  /STSong-Light-GB-H		% iso-2022:gb-2312-1980
  /Ryumin-Light-H		% iso-2022:jis-x-0208-1983&1990
  /HYSMyeongJo-Medium-KSC-H	% iso-2022:ks-x-1001-1992
  /HeiseiMin-W3H-Hojo-H		% iso-2022:jis-x-0212-1990
  /STSong-Light-GBT-H		% iso-2022:gbt-12345-1990,private-iso-gbt
  /MSung-Light-CNS1-H		% iso-2022:cns-11643-1992-p1
  /MSung-Light-CNS2-H		% iso-2022:cns-11643-1992-p2
  /MSung-Light-ETen-B5-H	% iso-2022:big5,mule-big5
  /MSung-Light-ETen-B5-H	% iso-2022:big5,mule-big5
  } {
  /Ryumin-Light.Katakana-V	/Ryumin-Light.Katakana	vertical-font	% iso-2022:jis-x-0201-kana
  /Ryumin-Light.Roman-V		/Ryumin-Light.Roman	vertical-font	% iso-2022:jis-x-0201-roman
% /STSong-Light-GBK-EUC-V	% iso-2022:gb-1988-roman
  /Ryumin-Light-78-V		% iso-2022:jis-x-0208-1978
  /STSong-Light-GB-V		% iso-2022:gb-2312-1980
  /Ryumin-Light-V		% iso-2022:jis-x-0208-1983&1990
  /HYSMyeongJo-Medium-KSC-V	% iso-2022:ks-x-1001-1992
  /HeiseiMin-W3H-Hojo-V		% iso-2022:jis-x-0212-1990
  /STSong-Light-GBT-V		% iso-2022:gbt-12345-1990,private-iso-gbt
  /MSung-Light-CNS1-V		% iso-2022:cns-11643-1992-p1
  /MSung-Light-CNS2-V		% iso-2022:cns-11643-1992-p2
  /MSung-Light-ETen-B5-V	% iso-2022:big5,mule-big5
  /MSung-Light-ETen-B5-V	% iso-2022:big5,mule-big5
  } ifelse
] def
/iso-2022-bold-fontset [
  /Courier-Bold			findfont fitfont	% iso-2022:ascii
  /Courier-Bold-Latin1		/Courier-Bold /ISOLatin1Encoding	reencode-font fitfont	% iso-2022:iso-8859-1,iso-latin1
  /Courier-Bold-Latin2		/Courier-Bold /ISOLatin2Encoding	reencode-font fitfont	% iso-2022:iso-8859-2,iso-latin2
% /CourierNewLatin3-Bold	findfont fitfont	% iso-2022:iso-8859-3,iso-latin3
% /CourierNewLatin4-Bold	findfont fitfont	% iso-2022:iso-8859-4,iso-latin4
% /CourierNewGreek-Bold		findfont fitfont	% iso-2022:iso-8859-7,iso-greek
% /CourierNewArabic-Bold	findfont fitfont	% iso-2022:iso-8859-6,iso-arabic
% /CourierNewHebrew-Bold	findfont fitfont	% iso-2022:iso-8859-8,iso-hebrew
% /Courier-Bold-Cyrillic	/CourierNewCyrillic-Bold /ISOCyrillicEncoding	reencode-font fitfont	% iso-2022:iso-8859-5,iso-cyrillic
  /Courier-Bold-Latin5		/Courier-Bold /ISOLatin5Encoding	reencode-font fitfont	% iso-2022:iso-8859-9,iso-latin5
% /CourierNewThai-Bold		findfont fitfont	% iso-2022:iso-8859-11,iso-thai
% /CourierNewLatin6-Bold	findfont fitfont	% iso-2022:iso-8859-10,iso-latin6
  verttext not {
  /GothicBBB-Medium.Katakana	% iso-2022:jis-x-0201-kana
  /GothicBBB-Medium.Roman	% iso-2022:jis-x-0201-roman
% /STHeiti-Regular-GBK-EUC-H	% iso-2022:gb-1988-roman
  /GothicBBB-Medium-78-H	% iso-2022:jis-x-0208-1978
  /STHeiti-Regular-GB-H		% iso-2022:gb-2312-1980
  /GothicBBB-Medium-H		% iso-2022:jis-x-0208-1983&1990
  /HYGoThic-Medium-KSC-H	% iso-2022:ks-x-1001-1992
  /HeiseiKakuGo-W5H-Hojo-H	% iso-2022:jis-x-0212-1990
  /STHeiti-Regular-GBT-H	% iso-2022:gbt-12345-1990,private-iso-gbt
  /MHei-Medium-CNS1-H		% iso-2022:cns-11643-1992-p1
  /MHei-Medium-CNS2-H		% iso-2022:cns-11643-1992-p2
  /MHei-Medium-ETen-B5-H	% iso-2022:big5,mule-big5
  /MHei-Medium-ETen-B5-H	% iso-2022:big5,mule-big5
  } {
  /GothicBBB-Medium.Katakana-V	/GothicBBB-Medium.Katakana	vertical-font	% iso-2022:jis-x-0201-kana
  /GothicBBB-Medium.Roman-V	/GothicBBB-Medium.Roman		vertical-font	% iso-2022:jis-x-0201-roman
% /STHeiti-Regular-GBK-EUC-V	% iso-2022:gb-1988-roman
  /GothicBBB-Medium-78-V	% iso-2022:jis-x-0208-1978
  /STHeiti-Regular-GB-V		% iso-2022:gb-2312-1980
  /GothicBBB-Medium-V		% iso-2022:jis-x-0208-1983&1990
  /HYGoThic-Medium-KSC-V	% iso-2022:ks-x-1001-1992
  /HeiseiKakuGo-W5H-Hojo-V	% iso-2022:jis-x-0212-1990
  /STHeiti-Regular-GBT-V	% iso-2022:gbt-12345-1990,private-iso-gbt
  /MHei-Medium-CNS1-V		% iso-2022:cns-11643-1992-p1
  /MHei-Medium-CNS2-V		% iso-2022:cns-11643-1992-p2
  /MHei-Medium-ETen-B5-V	% iso-2022:big5,mule-big5
  /MHei-Medium-ETen-B5-V	% iso-2022:big5,mule-big5
  } ifelse
] def
/fontset-iso-2022 iso-2022-fontset compose-fontset pop
/fontset-iso-2022-Bold iso-2022-bold-fontset compose-fontset pop
%%EndProlog
/fontsize 11 def /fontwidth 11 def
/fontset-iso-2022 findfont [fontwidth 0 0 fontsize 0 0] makefont setfont
{ iso-2022-show } shown-readlines
A list of ways to say hello in various languages.

Czech (,Bh(Besky)		Dobr,B}(B den
Danish (Dansk)		Hej, Goddag
English			Hello
Esperanto		Saluton
Estonian		Tere, Tervist
PostScript		(Hello) =
Finnish (Suomi)		Hei
French (Fran,Ag(Bais)	Bonjour, Salut
German (Deutsch Nord)	Guten Tag

Italiano		Ciao, Buon giorno

Maltese			Ciao
Nederlands, Vlaams	Hallo, Dag
Norwegian (Norsk)	Hei, God dag
Polish			Dzie,Bq(B dobry, Hej

Slovak			Dobr,B}(B de,Br(B
Spanish (Espa,Aq(Bol)	,A!(BHola!
Swedish (Svenska)	Hej, Goddag

Turkish (T,M|(Brk,Mg(Be)	Merhaba

Chinese  ($(GDcEF$(0!.$(GiGk#$(0!.Vn^V)t(B)		$(0<@)p$(G!$I#Go!$$(0'*)y!$(B
Chinese  ($AVPND#,::So#,<rLeWV(B)		$ADz:C!#Dc:C!#(B
Japanese ($BF|K\8l!"4A;z!"J?2>L>!"JR2>L>(B)	$B$3$s$K$A$O!#(I:]FAJ(B.
Korean   ($(CGQ1[#,ySm.(B)			$(C>H3gGO=J4O1n#.>H3gGO<<?d#.(B

Difference among chinese characters in GB, JIS, KSC, BIG5:
	GB	-- $AT*Fx(B  $A?*7"(B
	JIS	-- $B855$(B  $B3+H/(B
	KSC	-- $(Cj*Q((B  $(CKR[!(B
	BIG5	-- $(0&x86(B  $(0DeBv(B

Just for a test of JISX0212: $BqV$(DiQ(B (the second character is of JISX0212)

Just for a test of JISX0201: (I123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\&]_^(B

Difference between JISX0208.1978 and 1983:

	\x1b$@	$@032)3B3I3v4C4R6F7[979\<I?YA(D[EWEnEsFvGhI0KjKyLyMZO6(B
	\x1b$B	$B032)3B3I3v4C4R6F7[979\<I?YA(D[EWEnEsFvGhI0KjKyLyMZO6(B

Difference between GB2312.1980 and GBT12345.1990

	\x1b$A	$AMrLuP4;-8v:s<8;z@oTS@kRuQt4SQyJ&8IO0?*Fx5g9X6T;6<&Gl(B
		$A1_9};9=xT6Ub;*0.HHME4&RURdRZSJ(B
		$AJiN*3$J1S&6+35K-8xAeR{CE<dNJM7BrBt(B
	\x1b$(?	$(?MrLuP4;-8v:s<8;z@oTS@kRuQt4SQyJ&8IO0?*Fx5g9X6T;6<&Gl(B
		$(?1_9};9=xT6Ub;*0.HHME4&RURdRZSJ(B
		$(?JiN*3$J1S&6+35K-8xAeR{CE<dNJM7BrBt(B

Color names:
	[1mBLACK	[30m$(0E**d(B	$A:ZI+(B	$B9u?'(B	$(C0KA$;v(B	[30m[22m
	[1mRED	[31m$(04y*d(B	$A:lI+(B	$B@V?'(B	$(C;!0-;v(B	[30m[22m
	[1mGREEN	[32m$(0L;*d(B	$ABLI+(B	$BNP?'(B	$(C3k6{;v(B	[30m[22m
	[1mYELLOW	[33m$(0E(Yn*d(B	$A;FI+(B	$B2+?'(B	$(CH2;v(B	[30m[22m
	[1mBLUE	[34m$(0Y1*d(B	$A@6I+(B	$B@D?'(B	$(CFD6{;v(B	[30m[22m
	[1mMAGENTA	[35m$(0C<*d(B	$AWOI+(B	$B;g?'(B	$(C:86s;v(B	[30m[22m
	[1mCYAN	[36m$(0LJL;*d(B	$A4dBLI+(B	$B@DNP?'(B	$(CC;7O;v(B	[30m[22m
	[1mWHITE	[37m[40m$(0(v*d(B	$A0WI+(B	$BGr?'(B	$(CGO>a;v(B	[47m[30m[22m
